﻿// -----------------------------------------------------------------------
// <copyright file="ClientesDAO.cs" company="HP">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------

namespace Datos
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.SqlClient;
    using System.Data;
    using System;
    using System.Data;
    using System.Data.Common;
    using Bostik.Common.Infos;

    /// <summary>
    /// TODO: Update summary.
    /// </summary>
    public class AccesoDAO
    {
        public DataSet  Insert(InfoClientes Cliente)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosCapturaClienteIU");
            _comando.Parameters.AddWithValue("@pnIdCliente", Cliente.IdCliente);
            _comando.Parameters.AddWithValue("@pnNomCliente", Cliente.NomCliente);
            _comando.Parameters.AddWithValue("@pnRfc", Cliente.Rfc);
            _comando.Parameters.AddWithValue("@pnDireccion", Cliente.Direccion);
            _comando.Parameters.AddWithValue("@pnTelefonos", Cliente.Telefonos);
            _comando.Parameters.AddWithValue("@pnCorreo", Cliente.Correo);
            _comando.Parameters.AddWithValue("@pnCorreoAval", Cliente.CorreoAval);
            _comando.Parameters.AddWithValue("@pnDireccionAval", Cliente.DireccionAval);
            _comando.Parameters.AddWithValue("@pnTelAval", Cliente.TelAval);
            _comando.Parameters.AddWithValue("@pnNomAval", Cliente.NomAval);
            _comando.Parameters.AddWithValue("@pnRfcAval", Cliente.RfcAval);
            _comando.Parameters.AddWithValue("@pnRegimenfiscalAval", Cliente.RegimenfiscalAval);
            _comando.Parameters.AddWithValue("@pnEsPersonaFisica", Cliente.EsPersonaFisica);
             
         
            return MetodosDAO.EjecutarSP(_comando); 
        }

        public DataSet GuardaRequisitos(InfoRequisitoClientes Cliente)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosCapturaRequisitoClienteIU");
            _comando.Parameters.AddWithValue("@pnIdCliente", Cliente.IdCliente);
            _comando.Parameters.AddWithValue("@pnchkTodos", Cliente.TieneTodosDocs);
            _comando.Parameters.AddWithValue("@pnCk1", Cliente.Ck1);
            _comando.Parameters.AddWithValue("@pnCk2", Cliente.Ck2);
            _comando.Parameters.AddWithValue("@pnCk3", Cliente.Ck3);
            _comando.Parameters.AddWithValue("@pnCk4", Cliente.Ck4);
            _comando.Parameters.AddWithValue("@pnCk5", Cliente.Ck5);
            _comando.Parameters.AddWithValue("@pnCk6", Cliente.Ck6);
            _comando.Parameters.AddWithValue("@pnCk7", Cliente.Ck7);
            _comando.Parameters.AddWithValue("@pnCk8", Cliente.Ck8);


            return MetodosDAO.EjecutarSP(_comando);
        }

        public DataSet GuardaArchivoRequisitos(InfoRequisitoClientes Cliente)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosCapturaRequisitoArchivoClienteIU");
            _comando.Parameters.AddWithValue("@pnIdCliente", Cliente.IdCliente);
            _comando.Parameters.AddWithValue("@pnArchivo", Cliente.Archivo);
            _comando.Parameters.AddWithValue("@pnNomDocumento", Cliente.NomDocumento);
            _comando.Parameters.AddWithValue("@pnDescripcionDoc", Cliente.DescripcionDoc);
            _comando.Parameters.AddWithValue("@pnIdArchivo", Cliente.IdArchivo);

            if (Cliente.Fechafactura.Year == 1)
                _comando.Parameters.AddWithValue("@pnFechaFactura", DateTime.Today);
            else
            _comando.Parameters.AddWithValue("@pnFechaFactura", Cliente.Fechafactura);

            _comando.Parameters.AddWithValue("@pnPagado", Cliente.Pagado);
            if (Cliente.Formapago == null)
                _comando.Parameters.AddWithValue("@pnFormaPago", string.Empty);
            else
                _comando.Parameters.AddWithValue("@pnFormaPago", Cliente.Formapago);

            _comando.Parameters.AddWithValue("@pnEsFactura", Cliente.Esfactura); 


            return MetodosDAO.EjecutarSP(_comando);
        }

        public DataSet EliminaArchivoClientes(InfoRequisitoClientes Cliente)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosBorraArchivoClienteIU");
            _comando.Parameters.AddWithValue("@pnIdCliente", Cliente.IdCliente);
            _comando.Parameters.AddWithValue("@pnIdArchivo", Cliente.IdArchivo); 

            return MetodosDAO.EjecutarSP(_comando);
        }

        public DataSet EliminaArchivoPredios(InfoPrediosContrato Cliente)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosBorraArchivoPredioIU");
            _comando.Parameters.AddWithValue("@pnIdPredio", Cliente.IdPredio);
            _comando.Parameters.AddWithValue("@pnIdArchivo", Cliente.IdArchivo);

            return MetodosDAO.EjecutarSP(_comando);
        } 

        public DataSet GuardaArchivoPredio(InfoPredios Predio)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosCapturaPredioArchivoIU");
            _comando.Parameters.AddWithValue("@pnIdPredio", Predio.IdPredio);
            _comando.Parameters.AddWithValue("@pnArchivo", Predio.Archivo);
            _comando.Parameters.AddWithValue("@pnNomDocumento", Predio.NomDocumento);
            _comando.Parameters.AddWithValue("@pnDescripcionDoc", Predio.DescripcionDoc);


            return MetodosDAO.EjecutarSP(_comando);
        }

        public DataSet GuardaPredio(InfoPredios Predio)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosCapturaPredioIU");
            _comando.Parameters.AddWithValue("@pnIdPredio", Predio.IdPredio);
            _comando.Parameters.AddWithValue("@pnDescripcionLocal", Predio.DescripcionLocal);
            _comando.Parameters.AddWithValue("@pnUbicacion", Predio.Ubicacion);
            _comando.Parameters.AddWithValue("@pnEmpresa", Predio.Empresa);
            _comando.Parameters.AddWithValue("@pnAlto", Predio.Alto);
            _comando.Parameters.AddWithValue("@pnAncho", Predio.Ancho);
            _comando.Parameters.AddWithValue("@pnLargo", Predio.Largo);
            _comando.Parameters.AddWithValue("@pnRenta", Predio.Renta); 
             


            return MetodosDAO.EjecutarSP(_comando);
        }

        public DataSet GuardaConfiguracion(InfoConfiguracion config)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosCapturaConfiguracionIU");
            _comando.Parameters.AddWithValue("@pnIncremento", config.IncrementoAnual); 


            return MetodosDAO.EjecutarSP(_comando);
        }

        public DataSet GuardaPredioContrato(InfoPrediosContrato Predio)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosCapturaPredioContratoIU");
            _comando.Parameters.AddWithValue("@pnIdPredio", Predio.IdPredio);
            _comando.Parameters.AddWithValue("@pnIdCliente", Predio.IdCliente);
            _comando.Parameters.AddWithValue("@pnArchivo", Predio.Archivo);
            _comando.Parameters.AddWithValue("@pnNomDocumento", Predio.NombreArchivo);
             

            return MetodosDAO.EjecutarSP(_comando);
        }

        public DataSet BuscaPredio(int IdPredio)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosBuscaPredioProc");
            _comando.Parameters.AddWithValue("@pnIdPredio", IdPredio);
            return MetodosDAO.EjecutarSP(_comando);
        }

        public DataSet BuscarDatosContrato(string IdCliente, string IdPredio)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosBuscaDatosContratoProc");
            _comando.Parameters.AddWithValue("@pnIdPredio", IdPredio);
            _comando.Parameters.AddWithValue("@pnIdCliente", IdCliente);
            return MetodosDAO.EjecutarSP(_comando);
        }



        public DataSet BuscaCliente(int IdCliente)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosBuscaClienteProc");
            _comando.Parameters.AddWithValue("@pnIdCliente", IdCliente);
            return MetodosDAO.EjecutarSP(_comando);
        }

        public DataSet ActualizaPago(int IdCliente,int IdPredio, string formapago, int IdArchivo)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosActualizaPagoProc");
            _comando.Parameters.AddWithValue("@pnIdCliente", IdCliente);
            _comando.Parameters.AddWithValue("@pnIdPredio", IdPredio);
            _comando.Parameters.AddWithValue("@pnFormaPago", formapago);
            _comando.Parameters.AddWithValue("@pnIdArchivo", IdArchivo);
            return MetodosDAO.EjecutarSP(_comando);
        }

        public DataSet BuscaRequisitos(int IdCliente)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosBuscaRequisitosProc");
            _comando.Parameters.AddWithValue("@pnIdCliente", IdCliente);
            return MetodosDAO.EjecutarSP(_comando);
        }

        public DataSet Login(string Usuario)
        {
                SqlCommand _comando = MetodosDAO.CrearComandoProc("BosObtieneLogin");
            _comando.Parameters.AddWithValue("@pnUsuario", Usuario);
            return MetodosDAO.EjecutarSP(_comando); 
        }

        public DataSet BuscaRequisitosArchivos(int IdCliente , int IdArchivo)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosBuscaArchivosRequisitosProc");
            _comando.Parameters.AddWithValue("@pnIdCliente", IdCliente);
            _comando.Parameters.AddWithValue("@pnIdArchivo", IdArchivo);
            return MetodosDAO.EjecutarSP(_comando); 
         
        }


        public DataSet BuscaContratoArchivos(int IdCliente, int IdArchivo)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosBuscaContratoArchivosProc");
            _comando.Parameters.AddWithValue("@pnIdPredio", IdCliente);
            _comando.Parameters.AddWithValue("@pnIdArchivo", IdArchivo);
            return MetodosDAO.EjecutarSP(_comando);

        }

        public DataSet BuscaPredioArchivos(int IdCliente, int IdArchivo)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoProc("BosBuscaPredioArchivosProc");
            _comando.Parameters.AddWithValue("@pnIdPredio", IdCliente);
            _comando.Parameters.AddWithValue("@pnIdArchivo", IdArchivo);
            return MetodosDAO.EjecutarSP(_comando);

        }

        

        public DataTable LlenadoCombos(string sp)
        {
            SqlCommand _comando = MetodosDAO.CrearComandoSelect();
            _comando.CommandText = sp;
            return MetodosDAO.EjecutarComandoSelect(_comando);
        }
         
    }
}

